package com.jcgyl.export.dao;



import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.jcgyl.export.entity.Tbsysmenu;


public interface TbsysmenuDao {

	int deleteByPrimaryKey(Integer id);

	int insert(Tbsysmenu record);

	int insertSelective(Tbsysmenu record);

	Tbsysmenu selectByPrimaryKey(Integer id);

	int updateByPrimaryKeySelective(Tbsysmenu record);

	/**查询全部
	 * JL
	 * */
	List<Tbsysmenu>findObject();
	/**查询全部的条数
	 * JL
	 * */
	Integer getRowCount();
	/**
	 * 
	 * @param name
	 * @param pname
	 * @param isenable
	 * @param startIndex
	 * @param pageSize
	 * @return
	 * JL
	 */
	List<Tbsysmenu> findMenu(@Param ("name") String name,
			@Param("pname")String pname,
			@Param("isenable")Integer isenable,
			@Param("startIndex")Integer startIndex,
			@Param("pageSize")Integer pageSize
			);
	/**ztree查询节点
	 * JL
	 * */
	List<Map<String,Object>> findZtreeObject();
	/**模糊查询总条数
	 * JL
	 * */
	Integer  getRow(@Param ("name") String name,
			@Param("pname")String pname,
			@Param("isenable")Integer isenable);
	int updataIsenable(@Param("id")Integer id,@Param("isenable")Integer isenable);
	  /**
	    * 根据角色表id查询角色的权限
	    * @param id 角色id
	    * @return
	    * JL
	    */
	   List<Tbsysmenu>findMenuByRoleId(int id);

     // 查询权限树
	List<Tbsysmenu> findPermissionsZtree(); 
	// 查询所有的权限
	List<String> findAllPermissions();
	// 根据角色名字来查询权限
	List<Integer>  findPermissionsbyRId(@Param("rId")int rId);

	// 根据角色Id来删除权限
	int deletePermissionsbyRoleId(@Param("rId") int rId, @Param("pId") int pId);

	// 根据角色Id来添加权限
	int insertPermissionsbyRoleId(@Param("rId") int rId, @Param("pId") int pId);

}